Karierę piłkarską Osvaldo Castro rozpoczął w klubie Unión La Calera w 1965. W 1969 przeszedł do Deportes Concepción. W barwach Deportes w 1970 strzelając 36 bramek został królem strzelców ligi chilijskiej. W 1974 wyjechał do Meksyku do stołecznego klubu Club América. Z Club América zdobył Puchar Meksyku w 1974. Indywidualnie w tym samym roku strzelając 36 bramek był królem Primera División de México. W 1975 przeszedł do Jalisco Guadalajara. Cztery lata później przeszedł do Deportivo Neza, skąd w 1981 odszedł do Atlético Potosino. Ostatnim klubem w karierze Castro był stołeczny UNAM, w którym zakończył piłkarską karierę w 1984.
W reprezentacji Chile Castro zadebiutował 30 listopada1966 w wygranym 5-2 e spotkaniu eliminacji Copa América 1967 z Kolumbią. W całym turnieju Chile zajęło trzecie miejsce, a Castro wystąpił we wszystkich siedmiu meczach z Kolumbią (eliminacje), Wenezuelą, Paragwajem, Urugwajem, Argentyną i Boliwią.
W 1974 roku został powołany przez selekcjonera Luisa Álamosa do kadry na Mistrzostwa Świata w RFN. Na Mundialu Castro był rezerwowym i nie wystąpił w żadnym meczu. Ostatni raz w reprezentacji wystąpił 26 marca1977 w przegranym 0-2 spotkaniu eliminacji Mistrzostw Świata z Peru. Od 1966 do 1977 roku rozegrał w kadrze narodowej 28 spotkań, w których strzelił 7 bramek.